package com.jl.card.provider.jl3g;

import com.jl.applet.IApplet;
import com.jl.applet.ISOApplet;
import com.jl.card.Card;
import com.jl.card.ICardProvider;
import com.jl.card.ISTK;
import com.jl.card.ISecurityOperation;
import com.jl.card.file.CardFilePath;
import com.jl.card.file.IFileAccess;
import com.jl.card.file.IFileChecker;
import com.jl.card.file.IFileInfo;
import com.jl.card.filesystem.IFileSystem;

public class JL3GProvider implements ICardProvider {
	@Override
	public IFileInfo getFileInfo(byte[] fci) {
		return new JL3GFileInfo(fci);
	}

	@Override
	public IFileAccess getFileAccess(CardFilePath path, Card card) {
		return new JL3GFileAccess(path, card);
	}

	@Override
	public IFileChecker getFileChecker() {
		return new JL3GFileChecker();
	}

	@Override
	public ISecurityOperation getVerifyDialog(Card card) {
		return new JL3GSecurityOperation(card);
	}

	@Override
	public ISTK getSTKOperation(Card card) {
		return new JL3GSTK(card);
	}
	
	@Override
	public IApplet getApplet(Card card) {
		return new ISOApplet();
	}

	@Override
	public IFileSystem getFileSystem(Card card) {
		return new JL3GFileSystem(card);
	}

}
